package org.example.reflection;

/**
 * @author: ZhuYouBin
 * @date: 2022/4/7 11:06
 * @description:
 */
public class ClassDemo {
    public static void main(String[] args) throws ClassNotFoundException {
        test03();
    }
    static void test03() throws ClassNotFoundException {
        /**
         * 语法格式：
         * Class<?> clazz = Class.forName("这里写类的全限定名称");
         * 类的全限定名称：包名称 + 类名称
         */
        // 3、Class.forName() 获取Class类对象
        // 这种方式需要处理异常,因为根据包名称可能找不到类
        Class<?> clazz = Class.forName("java.lang.String");
        // 输出看看结果
        System.out.println(clazz);
    }
    static void test02() {
        /***
         * 语法格式：
         * Class<?> clazz = 对象名称.getClass();
         */
        // 2、对象.getClass() 获取Class类对象
        String str = "";
        Class<? extends String> clazz2 = str.getClass();
        // 输出看看效果
        System.out.println(clazz2);
    }
    static void test01() {
        /**
         * 语法格式：
         * Class<?> clazz = 类名称.class;
         */
        // 1、类名称.class 获取Class类对象
        Class<String> clazz = String.class;
        // 输出看看效果
        System.out.println(clazz);
    }
}
